Various mechanisms exist for reducing power consumption of computing devices. Standard technology for power management is specified in Advanced Configuration and Power Interface (ACPI) version 4.0, which may be found on the public Internet at URL www-acpi-info (note that periods have been replaced with dashes to avoid unintentional hyperlinks in this document). ACPI is a standard that most computer systems currently use for power management and describes how a computing system looks to the operating system (OS). Power management capabilities enable a computing device, both at component and system level, to transition its operating state between a higher power consumption state and a lower power consumption state. These modes of operation are often respectively called wake and sleep states or modes. The ACPI Specification defines seven states which a computing device may typically be in. For example, state S3 (“S3”), may be typically referred to as standby, sleep (also referred to herein as “sleep mode”), or suspend to RAM. State S5 (“S5”) may be referred to as shutdown or “off.”
A number of events may cause a computing device to transition between sleep mode and wake mode i.e., wake up or go to sleep. For instance, a sleep event, which triggers a computing device to transition to sleep, might include user inactivity or user selection. When a computing device transitions to sleep, many of the computing device components (e.g., main processor such as central processing unit (CPU), volatile memory, disk drives for mass storage, and so forth) may also go to sleep. Once asleep, a computing device may wake upon occurrence of a wake event. A wake event may include, for example, a receiving by the computing device of input from a mouse or keyboard, an e-mail message, or a query from a remote system administrator.
After a wake event is handled, and before the OS runs again, there is an opportunity for the firmware of the computing device to perform useful work without OS involvement.